home *** CD-ROM | disk | FTP | other *** search
Text File | 1990-09-21 | 3.3 KB | 102 lines | [TEXT/pdos] |
- Apple II
- Technical Notes
- _____________________________________________________________________________
- Developer Technical Support
-
- ProDOS 8
- #29: Clearing the Backup Needed Bit
-
- Written by: Jim Luther September 1990
-
- This Technical Note shows how to clear the "backup needed bit" in a directory
- entry's access byte.
- _____________________________________________________________________________
-
- If you are writing a file backup utility program, you probably want to clear
- the backup needed bit in each directory entry's access byte as you make the
- backup of the file associated with that directory entry. The SET_FILE_INFO
- MLI call normally sets the backup needed bit of the access byte, but how do
- you clear it? The answer is at location BUBIT ($BF95) on the ProDOSĀ 8 system
- global page.
-
- BUBIT normally contains the value $00. When BUBIT contains $00, the
- SET_FILE_INFO MLI call always sets the backup needed bit in the directory
- entry's access byte. However, if the value $20 is stored in BUBIT immediately
- before calling SET_FILE_INFO, the backup needed bit in the directory entry's
- access byte can be cleared. BUBIT is set back to $00 by the MLI call. The
- following code example shows how to clear the backup needed bit. Values other
- than $20 or $00 in BUBIT are not supported.
-
- ; The pathname of the file should be in ThePathname buffer when this code is
- called!
-
- 65816 off
- longa off
- longi off
-
- ClearBackupBit start
-
- ; System global page locations
-
- MLI equ $BF00 ;MLI call entry point
- BUBIT equ $BF95 ;Backup Bit Disable, SET_FILE_INFO only
-
- ; MLI call numbers
-
- SET_FILE_INFO equ $C3
- GET_FILE_INFO equ $C4
-
- ; set up FileInfoParms for GET_FILE_INFO MLI call
- lda #$0A
- sta param_count
- ; then...
- jsr MLI ;get the current file info
- dc I1'GET_FILE_INFO'
- dc I2'FileInfoParms'
- bne Error
-
- lda #$20 ;set the backup bit disable bit
- sta BUBIT
- eor #$FF
- and access ;clear the backup needed bit
- sta access
-
- ; set up FileInfoParms for SET_FILE_INFO MLI call
- lda #$07
- sta param_count
- ; then...
- jsr MLI ;set the file info with the file info
- dc I1'SET_FILE_INFO' ;(clearing only the backup needed bit)
- dc I2'FileInfoParms'
- bne Error
- rts ;return to caller
-
- Error anop ;routine to handle MLI errors
- rts
-
- ; Parameter block used for GET_FILE_INFO and SET_FILE_INFO MLI calls
-
- FileInfoParms anop
- param_count ds 1
- pathname dc i2'ThePathname'
- access ds 1
- file_type ds 1
- aux_type ds 2
- storage_type ds 1
- blocks_used ds 2
- mod_date ds 2
- mod_time ds 2
- create_date ds 2
- create_time ds 2
-
- ThePathname entry
- ds 65 ;store the pathname of the file here
-
- end
-
-
- Further Reference
- _____________________________________________________________________________
- o ProDOS 8 Technical Reference Manual
-
-